One of the most important aspects of a modern computer is the ability to create, visually display, store and print documents containing textual or graphical information. In order to print a document, some sort of printing device (printer) under the control of the computer is used to generate a permanent image of the document on a designated print medium.
To print a document that is, for example, stored in the random access memory (RAM) of the computer several actions must usually take place. First, since the designated print medium generally has a fixed size, the printable information contained in the document may need to be divided into sections suitable to fit onto the print medium, a process which is called pagination.
Pagination is generally performed by a computer under the direction of one or more software programs. In addition, pagination is accomplished with information regarding various dimensional parameters that pertain both to the document and to the selected print medium. As mentioned previously, as a result of pagination the document is divided into sections suitable to fit onto the selected print medium. For purposes of this discussion, these sections are referred to herein as "logical pages". The phrase "soft logical page" is used to refer specifically to the logical page as represented by software.
After the soft logical pages are created they may then be transmitted to the printer in the form of a print job for printing. In addition to containing soft logical pages, the print job may also include various printer control commands. One type of printer control command directs the printer to perform "N-UP printing". The letter "N" represents the number of logical pages that are to be scaled (if necessary) and printed onto a designated print medium. For purposes of this discussion a logical page that has been scaled for N-UP printing is referred to herein as a "sub-page".
Prior systems for achieving N-UP printing are limited to a pre-specified number of sub-pages that may be printed onto any one print medium. For example, a typical laser printer is limited to 2, 4 and 9-UP printing. In addition, prior printers do not optimize the orientation or scale factor of sub-pages on the print medium. This can result in an inefficient use of the printable area of the print medium.
As a result, there is a need for N-Up printing that is not limited to a pre-specified number of sub-pages. In addition, there is a need for N-Up printing wherein the sub-pages are optimally arranged on a print medium.